Kita sedang melampaui keterbatasan model linier, yang kesulitan mengklasifikasikan data yang tidak dapat dipisahkan oleh garis lurus. Hari ini, kita menerapkan alur kerja PyTorch untuk membangun Jaringan Saraf Dalam (DNN) yang mampu belajar batas keputusan non-linier yang kompleksyang sangat penting untuk tugas klasifikasi dunia nyata.
1. Memvisualisasikan Kebutuhan Data Non-Linier
Langkah pertama kita adalah membuat dataset sintetik yang menantang, seperti distribusi dua bulan, untuk secara visual menunjukkan mengapa model linier sederhana gagal. Pengaturan ini mendorong kita menggunakan arsitektur dalam untuk mendekati kurva rumit yang diperlukan untuk memisahkan kelas-kelas tersebut.
Sifat Data
- Struktur Data:Fitur data sintetik (misalnya, $1000 \times 2$ untuk $1000$ sampel dengan 2 fitur).
- Jenis Output: Nilai probabilitas tunggal, sering kali
torch.float32, yang mewakili keanggotaan kelas. - Tujuan: Untuk menciptakan batas keputusan melengkung melalui komputasi berlapis.
Kekuatan Aktivasi Non-Linier
Prinsip utama DNN adalah pengenalan non-linieritas pada lapisan tersembunyi melalui fungsi seperti ReLU. Tanpa fungsi-fungsi ini, menumpuk lapisan hanya akan menghasilkan satu model linier besar, terlepas dari kedalaman.
TERMINALbash — lingkungan-klasifikasi
> Siap. Klik "Jalankan" untuk menjalankan.
>
INSPEKTOR TENSOR Langsung
Jalankan kode untuk memeriksa tensor aktif
Pertanyaan 1
Apa tujuan utama fungsi aktivasi ReLU pada lapisan tersembunyi?
Pertanyaan 2
Fungsi aktivasi mana yang dibutuhkan di bagian outputlapisan untuk tugas klasifikasi biner?
Pertanyaan 3
Fungsi kerugian mana yang secara langsung sesuai dengan masalah klasifikasi biner menggunakan output Sigmoid?
Tantangan: Merancang Arsitektur Inti
Mengintegrasikan komponen arsitektur untuk pembelajaran non-linier.
Anda harus membuat
nn.Module untuk tugas dua-bulan. Fitur input: 2. Kelas output: 1 (probabilitas).
Langkah 1
Deskripsikan alur komputasi untuk satu lapisan tersembunyi dalam DNN ini.
Solusi:
Input $\to$ Lapisan Linier (Matriks Bobot) $\to$ Aktivasi ReLU $\to$ Output ke Lapisan Berikutnya.
Input $\to$ Lapisan Linier (Matriks Bobot) $\to$ Aktivasi ReLU $\to$ Output ke Lapisan Berikutnya.
Langkah 2
Berapa ukuran lapisan akhir jika bentuk input adalah $(N, 2)$ dan kita menggunakan fungsi kerugian BCE?
Solusi:
Lapisan output harus memiliki ukuran $(N, 1)$ untuk menghasilkan skor probabilitas tunggal per sampel, sesuai dengan bentuk label.
Lapisan output harus memiliki ukuran $(N, 1)$ untuk menghasilkan skor probabilitas tunggal per sampel, sesuai dengan bentuk label.